# 跳过测试函数
import random
import pytest

# 0代表女性 1代表男性
sex = random.randint(0,1)
print("\n")
print(sex)

@pytest.mark.skipif(sex == 1,reason='穷')
def test_add_cart():
    print("添加购物车")

"""
@pytest.mark.skipif：被装饰的方法会根据条件跳过

sex == 1：如果说sex是1的话，用例就会跳过，不执行
reason = '穷',跳过原因显示穷
"""
@pytest.mark.skip(reason='不买，跳过')
def test_add_cart1():
    print("什么也不买")
"""
skip：无条件跳过用例，不会执行的
"""

# 一个参数进行参数化
@pytest.mark.parametrize('phone',['15928123','124123345','1435345234'])
def test_verify_code(phone):
    """
    第一次测试用例：
    测试验证码
    获取15928123的验证码

    第二次测试用例：
    测试验证码
    获取124123345的验证码

    第三次测试用例：
    测试验证码
    获取1435345234的验证码
    :param phone:
    :return:
    """
    print("测试验证码")
    print(f"获取{phone}的验证码")

# 多个参数进行参数化

test_data = [('15948623','1254' ,'张鑫'),('12353452','1243','清东'),('124345634','3452','玥儒')]
# 每一个元组就是 下面每一条用例的数据

@pytest.mark.parametrize('phone,code,name',test_data)
def test_register(phone,code,name):
    """
    第一次的测试用例：
    测试会员注册
    电话号码为：15948623
    验证码为：1254

    第二次的测试用例：
    测试会员注册
    电话号码为：12353452
    验证码为：1243

    第三次的测试用例：
    测试会员注册
    电话号码为：124345634
    验证码为：3452
    """
    print("测试会员注册")
    print(f"电话号码为：{phone},\n验证码为：{code}")
    print(f"{name}注册成功！")












